gusucode.com > LTE基带收发仿真系统matlab源码程序 > LTE baseband simulation/rsc_encode.m
function y = rsc_encode(g, x, terminated) % 采用递归系统卷积码对输入的数据x进行编码。 % 输入参数包括 % x:待编码信息(0/1) % g: 生成多项式 % terminated:用于trellis termination % % Author: 程式小组(徐萌 张妙 张晓庆) % Date: 2010-06-20 % =========================================================== [n,K] = size(g); m = K - 1; if terminated>0 L_info = length(x); L_total = L_info + m; else L_total = length(x); L_info = L_total - m; end % 初始化状态向量 state = zeros(1,m); % 生成码字 for i = 1:L_total if terminated<0 | (terminated>0 & i<=L_info) d_k = x(1,i); elseif terminated>0 & i>L_info % 终止 d_k = rem( g(1,2:K)*state', 2 ); end a_k = rem( g(1,:)*[d_k state]', 2 ); [output_bits, state] = encode_bit(g, a_k, state); % 奇数位置输出系统信息比特 output_bits(1,1) = d_k; y(n*(i-1)+1:n*i) = output_bits; end